package com.junxonline.plat.exception;

/**
 * @author JunX
 * @ClassName: ErrorCodeEnum
 * @Description: 运营平台 错误枚举类
 *
 * 首字母9,前2位数为系统模块编号,后2位为功能模块编号,最后3位为具体业务异常编号 ,共8位必须保持唯一
 *
 * 01:用户相关
 */

public enum ErrorCodeEnum {

    /****************系统错误码BEGIN*****************/
    SYSTEM_ERROR("9999", "系统错误"),
    SUCCESS("0", "成功"),
    PARAMS_IS_NULL("1000", "参数不能为空"),
    PERMITION_IS_ERROR("403", "没有权限访问该资源"),
    UN_LOGIN("9998", "您还未登录"),
    LOGIN_IS_EXPIRES("9997", "登录过期，请重新登录"),
    UN_LOGIN_IS_ERROR("401", "请登录"),
    /*****************系统错误码END******************/

    /****************用户登录错误码BEGIN*****************/
    ACCOUNT_AND_PASSWORD_IS_NULL("90101001", "用户名和密码不能为空"),
    ACCOUNT_OR_PASSWORD_IS_ERROR("90101002", "用户名或密码不正确"),
    /*****************用户登录错误码END******************/

    /****************用户注册错误码BEGIN*****************/
    ACCOUNT_IS_EXISTED("90102001", "用户名已存在"),
    /*****************用户注册登录错误码END******************/

    /****************菜单管理错误码BEGIN*****************/
    MENU_PARENT_NOT_SELF("90201001", "父级菜单不能选择自己"),
    /*****************菜单管理错误码END******************/

    /****************组织管理错误码BEGIN*****************/
    POSITION_PARENT_NOT_SELF("90201001", "父级菜单不能选择自己");
    /*****************组织管理错误码END******************/

    /**
     * 错误码
     */
    private String errorCode;

    /**
     * 错误信息
     */
    private String errorMsg;

    private ErrorCodeEnum(String errorCode, String errorMsg) {
        this.errorCode = errorCode;
        this.errorMsg = errorMsg;
    }

    public String getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }

    public String getErrorMsg() {
        return errorMsg;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public static ErrorCodeEnum getEnum(String errorCode) {
        ErrorCodeEnum resultEnum = null;
        ErrorCodeEnum[] enumAry = ErrorCodeEnum.values();
        for (int i = 0; i < enumAry.length; i++) {
            if (enumAry[i].getErrorCode().equals(errorCode)) {
                resultEnum = enumAry[i];
                break;
            }
        }
        return resultEnum;
    }

}
